gh-109845: Make test_ftplib more stable under load#109912
gh-109845: Make test_ftplib more stable under load#109912serhiy-storchaka merged 1 commit intopython:mainfrom
Conversation
recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts.
| # the dummy data returned by server over the data channel when | ||
| # RETR, LIST, NLST, MLSD commands are issued | ||
| RETR_DATA = 'abcde12345\r\n' * 1000 + 'non-ascii char \xAE\r\n' | ||
| RETR_DATA = 'abcde\xB9\xB2\xB3\xA4\xA6\r\n' * 1000 |
There was a problem hiding this comment.
It makes the bug easier reproducible.
|
I confirm that the PR fix the issue. I can easily reproduce the issue with this script in a few seconds: #109845 (comment) With this PR, I can no longer reproduce the issue: |
|
Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.11, 3.12. |
|
GH-109919 is a backport of this pull request to the 3.12 branch. |
|
GH-109920 is a backport of this pull request to the 3.11 branch. |
…GH-109920) recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts. (cherry picked from commit 2ef2fff) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
|
|
|
Fixed by PR #109928. |
…9912) recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts.
…#109919) gh-109845: Make test_ftplib more stable under load (GH-109912) recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts. (cherry picked from commit 2ef2fff) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
…9912) recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts.
recv() can return partial data cut in the middle of a multibyte character. Test raw binary data instead of data incorrectly decoded by parts.